@echo off
chcp 65001 >nul
echo ===============================================
echo 解决conda环境问题并创建Python 3.11环境
echo ===============================================
echo.

:: 检查conda是否可用
echo [1/5] 检查conda可用性...
conda --version >nul 2>&1
if %errorlevel% equ 0 (
    echo ✓ conda已可用
    goto :create_env
)

echo ⚠️  conda在当前环境中不可用，尝试修复...

:: 方法1：尝试初始化conda
echo [2/5] 尝试初始化conda...
if exist "C:\Users\%USERNAME%\anaconda3\Scripts\conda.exe" (
    set CONDA_PATH=C:\Users\%USERNAME%\anaconda3
) else if exist "C:\Users\%USERNAME%\miniconda3\Scripts\conda.exe" (
    set CONDA_PATH=C:\Users\%USERNAME%\miniconda3
) else if exist "C:\ProgramData\Anaconda3\Scripts\conda.exe" (
    set CONDA_PATH=C:\ProgramData\Anaconda3
) else if exist "C:\ProgramData\Miniconda3\Scripts\conda.exe" (
    set CONDA_PATH=C:\ProgramData\Miniconda3
) else (
    echo ❌ 未找到conda安装路径
    echo 请检查conda是否正确安装
    goto :error_exit
)

echo 找到conda安装路径: %CONDA_PATH%

:: 设置conda环境变量
set PATH=%CONDA_PATH%;%CONDA_PATH%\Scripts;%CONDA_PATH%\condabin;%PATH%

:: 再次检查conda
echo [3/5] 验证conda修复结果...
conda --version
if %errorlevel% neq 0 (
    echo ❌ conda仍不可用，尝试完整路径...
    set CONDA_EXE=%CONDA_PATH%\Scripts\conda.exe
    "%CONDA_EXE%" --version
    if %errorlevel% neq 0 (
        echo ❌ 无法修复conda环境
        goto :error_exit
    )
    :: 使用完整路径的conda
    set CONDA_CMD="%CONDA_EXE%"
) else (
    set CONDA_CMD=conda
)

:create_env
echo ✓ conda环境修复成功

:: 退出虚拟环境（如果在虚拟环境中）
echo [4/5] 退出当前虚拟环境...
if defined VIRTUAL_ENV (
    echo 当前在虚拟环境: %VIRTUAL_ENV%
    deactivate
    echo ✓ 已退出虚拟环境
) else (
    echo ✓ 当前不在虚拟环境中
)

:: 创建Python 3.11环境
echo [5/5] 创建Python 3.11环境...
echo 正在创建名为 'nof-py311' 的新环境...

%CONDA_CMD% create -n nof-py311 python=3.11 -y
if %errorlevel% neq 0 (
    echo ❌ 创建环境失败
    goto :error_exit
)

echo ✓ Python 3.11环境创建成功

:: 激活新环境
echo 激活新环境...
%CONDA_CMD% activate nof-py311
if %errorlevel% neq 0 (
    echo ⚠️  自动激活失败，需要手动激活
    echo 请运行：conda activate nof-py311
)

:: 安装依赖
echo 安装项目依赖...
if exist "requirements.txt" (
    pip install -r requirements.txt
    if %errorlevel% equ 0 (
        echo ✓ 依赖安装成功
    ) else (
        echo ⚠️  部分依赖安装失败，请检查
    )
) else (
    echo ⚠️  未找到requirements.txt文件
)

:: 测试PyInstaller
echo 测试PyInstaller安装...
pip install pyinstaller==6.10.0
pyinstaller --version
if %errorlevel% equ 0 (
    echo ✓ PyInstaller安装成功
) else (
    echo ❌ PyInstaller安装失败
)

echo.
echo ===============================================
echo 环境设置完成！
echo ===============================================
echo.
echo 下一步操作：
echo 1. 打开新的命令提示符窗口
echo 2. 运行: conda activate nof-py311
echo 3. 进入项目目录: cd /d D:\PycharmProjects\NOF
echo 4. 运行打包命令: pyinstaller 成帧数据应用软件.spec
echo.
echo 或者直接运行自动化脚本：
echo    setup_python311_env.bat
echo.
pause
goto :eof

:error_exit
echo.
echo ===============================================
echo 处理失败！
echo ===============================================
echo.
echo 建议的解决方案：
echo 1. 确保conda已正确安装并可在新的cmd窗口中使用
echo 2. 重新启动命令提示符或重启系统
echo 3. 检查conda安装路径是否正确
echo 4. 尝试重新安装conda/Anaconda
echo.
echo 手动解决步骤：
echo 1. 打开新的命令提示符窗口
echo 2. 运行: conda --version （验证conda可用）
echo 3. 运行: conda create -n nof-py311 python=3.11 -y
echo 4. 运行: conda activate nof-py311
echo 5. 进入项目目录并安装依赖
echo.
pause
exit /b 1 